odstraneni komponenty z parent

Otázka od: Karolina Nemanska

16. 4. 2004 16:36

Zdravim,
mam tuto hierarchii kontrolu

scrollbox
   panel
      button
        onclick=odstranpanel
      /button
      label
      /label
   /panel
   panel
      button
      /button
      label
      /label
   /panel
  ...
/scrollbox

kterou vytvarim dynamicky - pridavam do scrollboxu panely s odp. tlacitky a
labely a tlacitku priradim udalost, ktera by mela odstranit panel... ale
kdyz zavolam na parent buttonu free, tak aplikace vyhodi exception - jaky je
tedy spravny postup? myslela jsem, ze control pri volani free sam zrusi sve
potomky...

diky, Karolina


Odpovedá: Martin Cajbik

16. 4. 2004 16:56

Zdravim,
problem je prave v tom, ze v obsluhe stlacenia Buttonu nie je mozne tento
zrusit (ani nepriamo), inak dojde prave k tomu Access Violation.
Najjednoduchsie riesenie je na stlacenie Buttonu iba zaslat uzivatelsku
spravu napriklad WM_USER+1 cez PostMessage (nie SendMessage) a odstranenie
panelu napisat ako reakciu na tuto spravu. Tym padom sa priamo v obsluhe
stlacenia odstranenie nevykona, ale dojde k nemu az nasledne.

Martin Cajbik

> Zdravim,
> mam tuto hierarchii kontrolu
>
> scrollbox
> panel
> button
> onclick=odstranpanel
> /button
> label
> /label
> /panel
> panel
> button
> /button
> label
> /label
> /panel
> ...
> /scrollbox
>
> kterou vytvarim dynamicky - pridavam do scrollboxu panely s odp. tlacitky
a
> labely a tlacitku priradim udalost, ktera by mela odstranit panel... ale
> kdyz zavolam na parent buttonu free, tak aplikace vyhodi exception - jaky
je
> tedy spravny postup? myslela jsem, ze control pri volani free sam zrusi
sve
> potomky...
>
> diky, Karolina
>
>
>